package com.sky.config;

import com.google.code.kaptcha.impl.DefaultKaptcha;
import com.google.code.kaptcha.util.Config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.Properties;

/**
 * Kaptcha配置类，用于配置验证码的相关属性。
 * @author Administrator
 */
@Configuration
public class KaptchaConfig {

    /**
     * 定义一个Bean来生产验证码。
     *
     * @return 返回一个DefaultKaptcha实例，用于生成验证码。
     */
    @Bean
    public DefaultKaptcha producer() {
        // 初始化配置属性
        Properties properties = new Properties();
        // 配置验证码边框，这里设置为无边框
        properties.put("kaptcha.border", "no");
        // 配置验证码文字颜色
        properties.put("kaptcha.textproducer.font.color", "black");
        // 配置验证码字符间距
        properties.put("kaptcha.textproducer.char.space", "4");
        // 配置验证码图片高度
        properties.put("kaptcha.image.height", "40");
        // 配置验证码图片宽度
        properties.put("kaptcha.image.width", "120");
        // 配置验证码字体大小
        properties.put("kaptcha.textproducer.font.size", "30");

        // 创建Config实例，并设置上述属性
        Config config = new Config(properties);

        // 创建DefaultKaptcha实例，并设置上述Config
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        defaultKaptcha.setConfig(config);

        return defaultKaptcha;
    }
}

